﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using Controller;
using Interfaces;
using System.Diagnostics;


namespace GUI
{
    public partial class FrmKlient : Form
    {
        // Atributter
        DateTime start = DateTime.Now;
        LogSystem system;

        string projektTitel;
        int arbejdslogID;
              
        // Konstruktør
        public FrmKlient(string projektTitel, int arbejdslogID)
        {
            InitializeComponent();
            txtMinutter_Log.Text = "15";
            system = new LogSystem();
            this.projektTitel = projektTitel;
            this.arbejdslogID = arbejdslogID;
        }

        // Form-load hændelsen
        private void FrmKlient_Load(object sender, EventArgs e)
        {
            txtProjektTitel.Text = projektTitel;
            txtArbejdslogID.Text = arbejdslogID.ToString();

            lblVisStatus.ForeColor = Color.Green;
            lblVisStatus.Text = "Indtast antal minutter og start loggen ved at klikke på Registrér.";
        }

        // Timer tick
        private void tmrStopur_Tick(object sender, EventArgs e)
        {
            this.WindowState = FormWindowState.Normal;
            this.TopMost = true;

            lblVisStatus.ForeColor = Color.Green;
            lblVisStatus.Text = "Registrér venligst din nuværende log eller stop log.";
        }
        
        #region Knapper og clicks

        private void btnRegistrer_Logklient_Click(object sender, EventArgs e)
        {
            
            tmrStopur.Interval = (60 * (1000 * Convert.ToInt32(txtMinutter_Log.Text)));

            this.WindowState = FormWindowState.Minimized;
       
        }

        private void btnStopLog_Log_Click(object sender, EventArgs e)
        {
            DateTime sluttidspunkt = DateTime.Now;
            
            TimeSpan tid = sluttidspunkt.Subtract(start);

            int tid2 = Convert.ToInt32(tid.Minutes + tid.Hours*60 + tid.Days*24*60);

            int arbejdslogID = Convert.ToInt32(txtArbejdslogID.Text);

            try
            {
                system.RedigerSluttid(arbejdslogID, sluttidspunkt, tid2);
                this.Close();
            }
            catch (Exception)
            {
                MessageBox.Show("Arbejdsloggen kunne ikke stoppes pga en systemfejl.");
                this.Show();
            }           
        }

        #endregion
    }
}
